package app.maker.stock.impl;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import app.maker.entity.Sortie;
import app.maker.error.SortieException;
import app.maker.stock.intf.ISortie;

@Stateless(name = "daoSortie")
public class SortieImp implements ISortie{
	@PersistenceContext
	private EntityManager em;
	
	public void updateSortie(Sortie sortie) throws SortieException {
		if (sortie != null)
			em.merge(sortie);
		else
			throw new SortieException("Sortie inexistante!");
		
	}

	public void deleteSortie(Sortie sortie) throws SortieException {
		if (sortie != null)
			em.remove(sortie);
		else
			throw new SortieException("Sortie inexistante");
	}

	public Sortie getSortie(int id) throws SortieException {
		if (id > 0)
			return em.find(Sortie.class, id);
		else
			throw new SortieException("Identifiant incorrect!");
	}

	@SuppressWarnings("unchecked")
	public List<Sortie> getAllSortie() {
		return em.createNamedQuery("Sortie.findAll").getResultList();
	}
}
